﻿using Common.Contract.Customer.Record;
using Common.Util.Validation;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Authentication.Model.ViewModel.Customer
{
    public class ShopInfoViewModel : GenerateViewMode, IViewModel
    {
        [Required(ErrorMessage = "Bill to code is required.")]
        [Display(Name = "Bill to:")]
        public string BillTo { get; set; }

        [Display(Name = "Area:")]
        [Required(ErrorMessage = "Region is required.")]
        public string RegionIdentifier { get; set; }

        [Display(Name = "Province:")]
        [Required(ErrorMessage = "Province is required.")]
        public string ProvinceIdentifier { get; set; }

        [Display(Name = "District:")]
        [Required(ErrorMessage = "District is required.")]
        public string DistrictIdentifier { get; set; }

        [Display(Name = "Shop code:")]
        [Required(ErrorMessage = "Shop code is required.")]
        public string ShopCode { get; set; }

        [Display(Name = "Shop name:")]
        [Required(ErrorMessage = "Shop name is required.")]
        public string ShopName { get; set; }

        [Display(Name = "Owner name:")]
        [Required(ErrorMessage = "Owner is required.")]
        public string OwnerName { get; set; }

        [Display(Name = "Owner email:")]
        [RegularExpression(RegexValidation.Email, ErrorMessage = "Email is invalidate")]
        public string OwnerEmail { get; set; }

        [Display(Name = "Address:")]
        public string Address { get; set; }

        [Display(Name = "Cell No.1:")]
        [Required(ErrorMessage = "Cell .No1 is required.")]
        [RegularExpression(RegexValidation.Phone, ErrorMessage = "Phone number is invalidate")]
        public string CellNo1 { get; set; }

        [Display(Name = "Cell No.2:")]
        [RegularExpression(RegexValidation.Phone, ErrorMessage = "Phone number is invalidate")]
        public string CellNo2 { get; set; }

        [Display(Name = "Isdn No.:")]
        public string IsdnNo { get; set; }

        [Display(Name = "Shop Type:")]
        public string ShopType { get; set; }

        [Display(Name = "Channel:")]
        public string Channel { get; set; }

        public string BillToName { get; set; }
        public string ProvinceName { get; set; }
        public string DistrictName { get; set; }
        public bool Active { get; set; }
    }
}
